package cn.tedu.cinema.member.mapper;

import cn.tedu.cinema.member.pojo.dto.MemberQuery;
import cn.tedu.cinema.member.pojo.entity.Member;
import cn.tedu.cinema.member.pojo.vo.MemberVO;
import cn.tedu.cinema.user.pojo.dto.UserQuery;
import cn.tedu.cinema.user.pojo.entity.User;
import cn.tedu.cinema.user.pojo.vo.UserVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/* @Repository表示当前是持久层的一部分,主要职责是进行数据库的操作 */
@Repository
public interface MemberMapper {
    UserVO selectByUsername(String username);

    void insert(User user);

    List<MemberVO> selectMember(@Param("pageNum") int pageNum,
                              @Param("pageSize") int pageSize,
                              @Param("memberQuery") MemberQuery memberQuery);

    void update(Member member);

    void updateMemberLevel(Member member);

    Member findByUserId(String userId);
    void updateMemberLevelByUserId(Member member);
    void insertMember(Member member);
}
